Systems and methods for haptics in vibrating environments and devices

ABSTRACT

Systems and methods for haptics in vibrating environments and devices are disclosed. For example, one described system includes: a haptic output device; a processor coupled to the haptic output device, the processor configured to: determine that a haptic effect should be generated; receive a signal associated with a parasitic vibration; determine a haptic effect based in part on the parasitic vibration; and output a haptic signal associated with the haptic effect to the haptic output device.

FIELD OF THE INVENTION

The present invention generally relates to haptic feedback, and moreparticularly to systems and methods for haptic feedback in vibratingenvironments and devices.

BACKGROUND

Haptic feedback can provide a conduit for electronic devices tocommunicate information to users. This conduit can be in addition tostandard visual or auditory effects. The number of devices that includesome form of haptic feedback has increased dramatically over the pastseveral years. However, some of these devices already output vibrations,for example, as a byproduct of their regular operation. Further, manydevices may be used in a vibrating environment. Either of these may dullor overwhelm haptic effects. Accordingly, there is a need for a deviceto compensate for these background vibrations.

SUMMARY

Embodiments of the present disclosure include devices featuring hapticsin vibrating environments and devices. In one embodiment, a systemaccording to the present disclosure may comprise: a haptic outputdevice; a processor coupled to the haptic output device, the processorconfigured to: determine that a haptic effect should be generated;receive a signal associated with a parasitic vibration; determine ahaptic effect based in part on the parasitic vibration; and output ahaptic signal associated with the haptic effect to the haptic outputdevice.

This illustrative embodiment is mentioned not to limit or define thelimits of the present subject matter, but to provide an example to aidunderstanding thereof. Illustrative embodiments are discussed in theDetailed Description, and further description is provided there.Advantages offered by various embodiments may be further understood byexamining this specification and/or by practicing one or moreembodiments of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects, and advantages of the presentdisclosure are better understood when the following Detailed Descriptionis read with reference to the accompanying drawings, wherein:

FIG. 1 is a block diagram of systems and methods for haptics invibrating environments and devices according to one embodiment;

FIG. 2A is an illustration of one embodiment of a system for haptics invibrating environments and devices;

FIG. 2B is an illustration of one embodiment of a system for haptics invibrating environments and devices;

FIG. 3 is an illustration of a flow chart of one embodiment of a methodfor haptics in vibrating environments and devices;

FIG. 4A is an illustration of one embodiment of a system for haptics invibrating devices;

FIG. 4B is an illustration of another embodiment of a system for hapticsin vibrating devices; and

FIG. 5 is an illustration of another embodiment of a system for hapticsin vibrating devices.

DETAILED DESCRIPTION

Several illustrative embodiments will now be described with respect tothe accompanying drawings, which form a part hereof. While particularembodiments, in which one or more aspects of the disclosure may beimplemented, are described below, other embodiments may be used andvarious modifications may be made without departing from the scope ofthe disclosure or the spirit of the appended claims.

Illustrative Embodiment of Haptics in a Vibrating Environments orDevices

One illustrative embodiment of the present disclosure comprises a devicethat may be used in an environment prone to vibration, for example, asmartphone comprising a haptic output device and a user interfacethrough which the user feels haptic effects. A mobile device of theillustrative embodiment may be used in for example, a car, an airplane,a bus, a train, or some other environment that has substantialvibrations. These parasitic vibrations may interfere with the hapticeffects output by the illustrative mobile device. For example, aparasitic vibration may mask a vibration output by the haptic outputdevice.

The illustrative embodiment of the present disclosure comprises systemsfor compensating for these parasitic vibrations. For example, theillustrative embodiment may comprise a data store comprising dataassociated with the parasitic vibrations. This data store may be localto the mobile device, or accessible via a network connection. Thus, inthe illustrative embodiment, when the user is in a location associatedwith parasitic vibrations the illustrative mobile device may receive asignal from the data store. Based on this signal, the illustrativemobile device may determine a haptic effect that is distinguishable fromthe parasitic vibration.

This distinguishable haptic effect may comprise one or more of manypotential haptic effects. For example, the haptic effect may comprise avibration based effect configured to be felt in spite of the parasiticvibration, e.g. a haptic effect at a different frequency and/oramplitude than the vibration and thus distinguishable from the parasiticvibration. In another embodiment, the haptic effect may comprise aneffect configured to compensate for the parasitic vibrations. Forexample, the haptic effect may comprise a vibration at a frequency andamplitude configured to compensate for, or mask (e.g. “reduce” or“cancel”) the parasitic vibration.

In yet another embodiment, the haptic effect may comprise a skinstretching effect, an electrostatic based effect, or a surfacedeformation effect. In such an embodiment the parasitic vibration mayhave little or no impact on the haptic effect. Further, in someembodiments, the haptic effect may comprise a non-vibration basedeffect.

In still another embodiment, the haptic effect may comprise an effectconfigured to control the parasitic vibration. For example, in oneembodiment the parasitic vibration may be the result of the normaloperation of the device. In one such embodiment, the device may comprisea motor that outputs the parasitic vibration. In this embodiment, thehaptic effect may comprise controlling the motor to vary the parasiticvibration, and thus output a perceptible haptic effect.

Thus, in the illustrative embodiment, the mobile device may output ahaptic effect that the user can perceive despite the parasiticvibration. This may enable the user to use the illustrative device in avibrating environment, e.g. in a car, train, or airplane.

In another illustrative embodiment, the device may be incorporated intothe vibrating environment. For example, the illustrative device maycomprise a touch screen display for use in a car stereo or a touchscreen for use in an airplane entertainment system. In such anembodiment, the device may output a haptic effect that isdistinguishable from the vibration of the larger system (e.g. thevibration as the car moves over the road or as the airplane experiencesturbulence).

In yet another illustrative embodiment, the device may be a device thatalready includes a vibration, e.g. an electric razor, a kitchenappliance, or piece of industrial equipment. In such an embodiment, theparasitic vibration may be generated by a motor on the device. Thus, thehaptic effect may be associated with controlling this motor, e.g.briefly stopping or slowing its operation, and thus generating aperceptible haptic effect by stopping or slowing the parasiticvibration.

These illustrative examples are given to introduce the reader to thegeneral subject matter discussed herein. The invention is not limited tothese examples. The following sections describe various additionalembodiments and examples of systems and methods for haptics in vibratingenvironments

Referring now to the drawings in which like numerals indicate likeelements throughout the several Figures, FIG. 1 is a block diagram of asystem for haptics in vibrating environments and devices according toone embodiment of the disclosure.

The system 100 shown in FIG. 1 comprises a device 102. In someembodiments device 102 may comprise one of a variety of handhelddevices, such as a mobile phone, a personal digital assistant (PDA), ora handheld navigation system. In other embodiments, the presentdisclosure may be implemented in a device that is not portable, forexample, in an automobile console, an airplane console, a console forindustrial equipment, a household appliance, a gaming console, or otherelectronic device.

Embodiments of the present disclosure can be implemented in combinationwith, or may comprise combinations of: digital electronic circuitry,computer hardware, firmware, and software. The device 102 shown in FIG.1 comprises a processor 110. The processor 110 receives input signalsand generates signals for communication, display, and providing hapticfeedback. The processor 110 includes or is in communication with one ormore computer-readable media, such as memory 112, which may compriserandom access memory (RAM).

The processor 110 executes computer-executable program instructionsstored in memory 112, such as executing one or more computer programsfor messaging or for generating haptic feedback. Processor 110 maycomprise a microprocessor, a digital signal processor (DSP), anapplication-specific integrated circuit (ASIC), one or more fieldprogrammable gate arrays (FPGAs), or state machines. The processor mayfurther comprise a programmable electronic device such as a PLC, aprogrammable interrupt controller (PIC), a programmable logic device(PLD), a programmable read-only memory (PROM), an electronicallyprogrammable read-only memory (EPROM or EEPROM), or other similardevices.

Memory 112 comprises a computer-readable media that may storeinstructions, which, when executed by the processor 110, cause it toperform various steps, such as those described herein. Embodiments ofcomputer-readable media may comprise, but are not limited to,non-transient computer readable media such as, an electronic, optical,magnetic, or other storage or transmission device capable of providingthe processor 110 with computer-readable instructions. Other examples ofmedia comprise, but are not limited to, a floppy disk, CD-ROM, magneticdisk, memory chip, ROM, RAM, ASIC, configured processor, all opticalmedia, all magnetic tape or other magnetic media, or any other mediumfrom which a computer processor can read. Also, various other devicesmay include computer-readable media, such as a router, private or publicnetwork, or other transmission device. The processor 110, and theprocessing, described may be in one or more structures, and may bedispersed throughout one or more structures.

In some embodiments, memory 112 may further comprise a data storecomprising data associated with the parasitic vibrations. For example,memory 112 may comprise a database of parasitic vibrations associatedwith various environments, which is accessible by processor 110. Forexample, in some embodiments, memory 112 may comprise a database of oneor more templates of parasitic vibrations. These templates may comprisedata associated with parasitic vibrations in common environments. Forexample, in some embodiments the templates may comprise data associatedwith vibrations: on an airplane (e.g. in various levels of turbulence),a bus on various types of roads, a car on various types of roads, oranother environment associated with background vibrations.

Referring still to FIG. 1, the device 102 also comprises a user inputdevice 114 in communication with the processor 110. For example, in someembodiments the user input device 114 may comprise a touchscreen. Insuch an embodiment, user input device 114 may sense user interaction aswell as the location of the interaction. One such embodiment comprises acapacitance-based touchscreen. In other embodiments, user input device114 may comprise a button, switch, slider, or trackball. In still otherembodiments, the device 102 may comprise both a touch screen and anadditional user input device 114.

The device 102 also comprises a display 116. Display 116 is incommunication with processor 110 and is configured to display outputfrom the processor 110 to the user. For instance, in one embodiment, thedevice 102 comprises a liquid crystal display (LCD) disposed beneath theuser input device 114. In some embodiments, the display 116 and userinput device 114 may comprise a single, integrated component, such as atouch-screen LCD. In some embodiments, device 102 may not comprise adisplay.

The device 102 also comprises a haptic output device 118, which is incommunication with the processor 110 and configured to output a hapticeffect. The processor 110 outputs a haptic signal to the haptic outputdevice 118, which then outputs a haptic effect based on the hapticsignal. For instance, the processor 110 may output a haptic signaldesigned to cause the haptic output device 118 to vibrate. In otherembodiments, in response to the haptic signal, haptic output device 118may output a different type of haptic effect. For example, in someembodiments, haptic output device 118 is configured to output a hapticeffect varying a perceived coefficient of friction of a touch surface.Additionally or alternatively, haptic output device 118 may providevibrotactile haptic effects that move user input device 114, or othercomponents of device 102, in a controlled manner.

In some embodiments, haptic output device 118 may comprise an actuatorcoupled to a housing of the device 102, and some haptic effects may usemultiple actuators in sequence and/or in concert. For example, in oneembodiment the perceptible coefficient of friction can be varied byvibrating the surface at varying frequencies above a threshold. Inanother embodiment, different combinations/sequences of variance can beused to simulate other effects.

Although a single haptic output device 118 is shown in FIG. 1, someembodiments may use multiple haptic output devices of the same ordifferent type to output varying types of effects. For example, in oneembodiment, a piezoelectric actuator is used to displace some or all ofa touch surface vertically and/or horizontally at ultrasonicfrequencies, such as by using an actuator moving at frequencies greaterthan 20 kHz. In some embodiments, multiple actuators such as eccentricrotating mass motors and linear resonant actuators can be used alone orin concert to provide other haptic effects. In another embodiment,haptic output device 118 may comprise an electrostatic actuator, or anactuator configured to modify the shape of one or more components ofdevice 102.

In still other embodiments, haptic output device 118 may comprise adevice configured to vary a vibration output by another motor on device102. For example, haptic output device 118 may comprise an additionalmass to be applied to the motor in order to vary the rotation of thatmotor and generate a vibration. In another embodiment, haptic outputdevice 118 may comprise a device configured to vary a structuralcharacteristic of a housing or a mount associated with the motor. Thismay vary the parasitic vibration in a way that is perceptible to theuser of device 102.

The device 102 also comprises a sensor 120. The sensor 120 is configuredto detect a parasitic vibration, and transmit a signal associated withthe parasitic vibration to the processor 110. In some embodiments,sensor 120 may be a component of haptic output device 118. For example,haptic output device 118 may comprise a piezoelectric actuator that alsoserves as a sensor to detect parasitic vibrations. In other embodiments,sensor 120 comprises another type of vibration detection device, forexample, an accelerometer. In still another embodiment, sensor 120comprises a sensor configured to determine the location of device 102.For example, sensor 120 may comprise a GPS sensor configured todetermine whether the device 102 is currently in an area associated witha specific type of parasitic vibration, e.g. a road, a train, anairplane, or some other location associated with a parasitic vibration.In some embodiments, sensor 120 is not a required component of device102.

Turning now to FIGS. 2A-2B, which illustrate an example of a system forhaptics in vibrating environments or devices. FIG. 2A is a diagramillustrating an external view of a system 200 comprising a computingdevice 201 that comprises a touch-enabled display 202. FIG. 2B shows across-sectional view of device 201. Device 201 may be configuredsimilarly to device 102 described above with regard to FIG. 1, thoughcomponents such as the processor, memory, sensors, and the like are notshown in this view for purposes of clarity.

As can be seen in FIG. 2B, device 201 includes a plurality of hapticoutput devices 218 and an additional haptic output device 222. Hapticoutput devices 218-1 may comprise an actuator configured to impartvertical force to display 202, while 218-2 may move display 202laterally. In this example, the haptic output devices are coupleddirectly to the display, but it should be understood that the actuatorscould be coupled to another touch surface, such as a layer of materialon top of display 202. Additional actuator 222 may be coupled to ahousing containing the components of device 201. In the examples ofFIGS. 2A-2B, the area of display 202 corresponds to the touch area,though the principles could be applied to a touch surface completelyseparate from the display.

In one embodiment, haptic output devices 218 each comprise apiezoelectric actuator, while additional actuator 222 comprises aneccentric rotating mass motor, a linear resonant actuator, or anotherpiezoelectric actuator. Actuator 222 can be configured to provide avibrotactile haptic effect in response to a haptic signal from theprocessor. The vibrotactile haptic effect can be utilized in conjunctionwith surface-based haptic effects and/or for other purposes.

In some embodiments, either or both haptic output devices 218-1 and218-2 can comprise an actuator such as a piezoelectric actuator. Inanother embodiment, haptic output devices 218-1 and 218-2 may comprisean electromagnetic actuator, an electroactive polymer, a shape memoryalloy, a flexible composite piezo actuator (e.g. an actuator comprisinga flexible material), electrostatic, and/or magnetostrictive actuators.Additionally, a single actuator 222 is shown, although multiple otherhaptic output devices can be coupled to the housing of device 201 and/orother actuators 222 may be coupled elsewhere. Device 201 may featuremultiple haptic output devices 218-1/218-2 coupled to the touch surfaceat different locations, as well.

Turning back to FIG. 2A, a user may interact with touch enabled display202. And in response to the user interaction, one or more of the hapticoutput devices 218-1/218-2 may output a haptic effect. However, in someembodiments, the mobile device 201 may be used in an area comprisingsignificant parasitic vibrations. In such an embodiment, the hapticeffect may be tuned to be perceptible despite the parasitic vibrations.Thus, in some embodiments, when the device is in an area associated withparasitic vibrations, the haptic effect may comprise a haptic effectthat is clearly distinguishable from the parasitic vibration. In someembodiments, this effect may comprise, for example, an electrostaticbased effect, a skin stretch effect, or a surface deformation effect.Further, in some embodiments, this effect may comprise a non-vibrationbased effect. In other embodiments, when the device is no longer in anarea associated with parasitic vibrations, the haptic effect maycomprise a vibration based effect.

Illustrative Method for Haptics in Vibrating Environments or Devices

Referring now to FIG. 3, FIG. 3 is a flow chart describing an exemplaryembodiment for a method for haptics in vibrating environments ordevices. In some embodiments, the stages in FIG. 3 may be implemented inprogram code that is executed by a processor, for example, the processorin a general purpose computer, a mobile device, or server. In someembodiments, these stages may be implemented by a group of processors,for example, a processor on a mobile device and processors on one ormore general purpose computers, such as servers. The stages below aredescribed with regard to the components of device 102 described abovewith regard to FIG. 1.

As shown in FIG. 3, the method 300 starts at stage 302 when processor110 determines that a haptic effect should be generated. In someembodiments processor 110 may determine that a haptic effect should begenerated as an alert associated with some component of the device 102.For example, in one embodiment, the haptic effect may be associated withthe current battery level, the presence of a network or other type ofconnection, or some other features associated with the operation of thedevice. In other embodiments, the haptic effect may be associated with atask or application on the mobile device, for example, the haptic effectmay be associated with a GPS application and comprise an indication thatthe user has arrived at a particular location. In another embodiment,the haptic effect may comprise an indication that a file has beendownloaded, or that some operation or task has been completed.

Continuing to step 304 when processor 110 receives a signal associatedwith a parasitic vibration. In some embodiments the signal may bereceived from memory 112, which, in such an embodiment, may comprise adatabase associated with parasitic vibrations. For example, in someembodiments, memory 112 may comprise a database of one or more templatesof parasitic vibrations. These templates may comprise data associatedwith parasitic vibrations in common environments. For example, in someembodiments the templates may comprise data associated with vibrations:on an airplane (e.g. in various levels of turbulence), a bus on varioustypes of roads, a car on various types of roads, or another environmentassociated with background vibrations.

In another embodiment, the signal may be received from sensor 120, whichis configured to detect the parasitic vibrations. In such an embodiment,sensor 120 may comprise, for example, an accelerometer. In anotherembodiment, sensor 120 may comprise a component of haptic output device118. For example, in such an embodiment, haptic output device 118 maycomprise a piezoelectric element. Further in such an embodiment, thepiezoelectric element may be configured to output a signal associatedwith the parasitic vibrations of device 102. In some embodiments thissignal may comprise data such as the magnitude or frequency of theparasitic vibration. In another embodiment, the signal may be receivedfrom a location system (e.g. GPS or AGS) that provides the currentlocation and/or velocity. In such an embodiment, processor 110 maydetermine the user's current location and data about the vibration basedon this information. For example, in such an embodiment, if processor110 determines that the user is traveling at above a certain speed onthe Interstate, processor 110 may determine that a specific type ofparasitic vibration is likely present.

At stage 306 processor 110 determines a haptic effect based in part onthe parasitic vibration. In some embodiments the haptic effect may be ahaptic effect configured to compensate for the parasitic vibrations. Forexample, the haptic effect may comprise a vibration based effectconfigured to be felt in spite of the parasitic vibration, e.g. a hapticeffect at a different frequency and/or amplitude than the vibration andthus is distinguishable from the parasitic vibration. For example, insuch an embodiment processor 110 may ensure that any haptic effect isnot output at a resonant frequency of the parasitic vibration bymultiplying the frequency of the parasitic vibration by a fractionalvalue (e.g. 1.3 or 1.7). In another embodiment, processor 110 mayperform a Fast Fourier Transform (FFT) of the parasitic vibration toselect frequency components that are not represented or not stronglyrepresented by the parasitic vibration.

In another embodiment, the haptic effect may comprise an effectconfigured to compensate for the parasitic vibrations. For example, thehaptic effect may comprise a vibration at a frequency and amplitudeconfigured to compensate for, mask, interfere with, reduce, or cancelthe parasitic vibration. For example, in one embodiment, the hapticeffect may comprise a vibration at substantially the same frequency andamplitude as the parasitic vibration, but offset by 180 degrees, andthus configured to substantially cancel the effect of the parasiticvibration.

In yet another embodiment, the haptic effect may comprise an effect thatis clearly distinguishable from the parasitic vibration and thus theparasitic vibration will have little or no effect on the haptic effect.For example, the haptic effect may comprise a skin stretching effect, anelectrostatic based effect, or a surface deformation effect. Forexample, the haptic effect may comprise an effect configured to vary theperceived coefficient of friction on the surface of user input device114. In another embodiment, the haptic effect may comprise an effectconfigured to raise or lower a segment of user input device 114 (e.g.create a surface deformation on user input device 114). In still anotherembodiment the haptic effect may comprise moving user input device 114,or a component of user input device 114, in a way that is perceptible tothe user. In still another embodiment, the haptic effect may comprise aneffect that is not associated with vibrations, and is thus perceptibledespite the parasitic vibration.

In still another embodiment, the parasitic vibration may comprise avibration associated with the normal operation of the device. Forexample, in such an embodiment, the device may comprise, for example, anelectric razor, a kitchen appliance, or piece of industrial equipment.Thus, in such an embodiment, the parasitic vibration may be generated bya motor on the device. In such an embodiment, the haptic effect may beassociated with controlling this motor, e.g. briefly stopping or slowingits operation, and thus generating a perceptible haptic effect bystopping or slowing the parasitic vibration. For example, in oneembodiment a housing of the device may comprise a magnetorheologicalfluid, which changes viscosity when a magnetic field is applied. Thus, amagnetic field may be applied to vary the strength of the parasiticvibration. The user may detect this change in the parasitic vibration asa haptic effect. In another embodiment, the device may comprise one ormore air sacs or shock absorbers that are used to vary the strength ofthe parasitic vibration and thus output a detectible haptic effect.

Next processor 110 outputs a haptic signal associated with the hapticeffect 308. This haptic signal may be a digital or analog signalcomprising the data needed for haptic output device 118 to output thehaptic effect. In some embodiments, the haptic signal may be an analogdrive signal for a haptic output device, while in some other embodimentsthe haptic signal may be a high-level signal comprising parametricinformation describing the haptic effect to be output (e.g. a commandidentifier and associated parameters). In such an embodiment, hapticoutput device 118 may comprise the internal capability of determiningand outputting a haptic effect based on the command identifier andassociated parameters.

At stage 310, haptic output device 118 outputs the haptic effect. Insome embodiments, this haptic effect may comprise a vibration effect,which as described above is configured to be distinguishable from theparasitic effect. In other embodiments, it may comprise a different typeof haptic effect, for example, an electrostatic friction effect, asurface deformation effect, or a skin stretch effect, configured to befelt distinctly from the parasitic vibration.

Illustrative Systems for Haptics in Vibrating Environments or Devices

Referring now to FIGS. 4A and 4B, FIG. 4A is an illustration of a systemfor haptics in vibrating environments or devices according to oneexample embodiment. FIG. 4A comprises system 400, which may be mountedinside the housing of a device according to the present disclosure. Asshown in FIG. 4A, the system comprises a motor 416 connected to a gear404 via a shaft 402. In some embodiments, this motor may be configuredto perform various tasks. For example, in one embodiment, motor 416comprises the motor on a household appliance, such as a blender, coffeegrinder, hand mixer, or some other known appliance. In otherembodiments, motor 416 comprises a motor for use in industrial orcommercial applications. For example, motor 416 may be a motor for usein a drill, saw, sander, or some other industrial tool.

According to some embodiments of the present disclosure, when motor 416is in operation it outputs a vibration (described above as a parasiticvibration). According to some embodiments, rather than using anadditional vibration to output a haptic effect, the processor insteadoutputs an effect associated with controlling this parasitic vibration.Accordingly, as shown in FIG. 4A, System 400 further comprises a brakingmechanism 406 and brake 408, configured to brake gear 404.

According to one embodiment, when a processor determines a haptic effectto be output, the processor transmits a trigger signal to brakingmechanism 406. In response, braking mechanism 406 pulls brake 408against gear 404, thus slowing gear 404. When gear 404 slows, a torqueis output on system 400 which may then be imparted on a deviceincorporating the system 400. The intensity of the torque is associatedwith the braking force applied to gear 404. Thus, braking mechanism 406may be configured to apply varying pressures on gear 404 to providevarying levels of torque. For example, the processor may determine aweak haptic effect. In such an embodiment braking mechanism 406 causesthe brake 408 to press lightly against the gear 404 to slow it onlyslightly, thereby outputting a small torque. In other embodiments, theprocessor may determine a strong haptic effect. In such an embodiment,braking mechanism 406 causes the brake 408 to press lightly against thegear 404 to slow gear 404 to a complete stop in less than a fullrotation and thereby output a strong torque.

In other embodiments, the system shown in FIG. 4A may operatedifferently. For example, in some embodiments, braking mechanism 406 maynot be present. In such an embodiment, electric motor 416 may beconfigured to output the haptic effect by quickly accelerating gear 404or a flywheel or another mass coupled to the shaft 402 (not shown inFIG. 4A), and thereby output a torque. In such an embodiment, the system400 may further comprise an energy store such as a capacitor or battery,configured to store and release energy to allow electric motor 416 toaccelerate gear 404 quickly enough to output a torque.

FIG. 4B is an illustration of a system for haptics in vibratingenvironments or devices according to another embodiment of thedisclosure. As shown in FIG. 4B, system 450 comprises a flywheel 452,moveable weights 454, and track 456. Flywheel 452 is configured to berotated by an electric motor. For example, an electric motor associatedwith one of the devices discussed above with regard to FIG. 4A.

In one embodiment, the positions of the moveable weights 454 may beconfigured based on the application of a magnetic field. For example,the moveable weights 454 may comprise a material that is responsive toapplied magnetic fields, such as iron or some composite materials. Insome embodiments, the moveable weights 454 may comprise magnets. Forexample, a magnetic coil may encircle the flywheel 452 and be activatedto draw the moveable weights 454 to the outer edge of the flywheel, orto return the moveable weights 454 to the center of the flywheel. Insome embodiments, the moveable weights 454 may be held at or near a restposition, such as near the center of the flywheel 452 by springs toresist centrifugal forces while the flywheel is spinning. Such springsmay then be overpowered by the application of a magnetic field to drawthe moveable weights 454 to the edge of the flywheel 452.

When the moveable weights 454 move, they change the distribution of masson the flywheel 452 and thus change the angular momentum of flywheel452. This change in angular momentum causes flywheel 452 to output aforce on the electric motor that is rotating it. The user holding thehandheld device that the actuator is associated with may feel this forceas a haptic effect. In some embodiments, this haptic effect may compriserotating, or torqueing the handheld device in the user's hand.

In the embodiment shown in FIG. 4B, track 456 comprises a groove cutalong a straight line through the center of flywheel 452. In otherembodiments track 456 may comprise a different configuration. Forexample, in one embodiment, track 456 may be configured to keep bothweights 454 at the center of flywheel 456 when a haptic effect is notbeing output. But when flywheel 452 receives a trigger signal from theprocessor, track 456 may be configured to allow weights 454 to move tothe same part of flywheel 452 to provide an eccentric rotating mass.

In the embodiment shown in FIG. 4B, system 450 comprises two weights 454and one track 456. In other embodiments, a different number of weightsand tracks may be used. For example, in one embodiment, flywheel 452 maycomprise three weights, and each weight may comprise its own track.

In other embodiments, not shown in FIG. 4A or 4B, rather than applying abrake or an eccentric rotating mass, the haptic effect may instead beoutput by modifying a component of the housing in which the electricmotor is placed. For example, a housing of the device may comprise amagnetorheological fluid, which changes viscosity when a magnetic fieldis applied. Thus, a magnetic field may be applied to vary the strengthof the parasitic vibration. The user may detect this change in theparasitic vibration as a haptic effect. In another embodiment, thedevice may comprise one or more air sacs or shock absorbers that areused to vary the strength of the parasitic vibration and thus output adetectible haptic effect.

Turning now to FIG. 5 another embodiment of a system for haptics in avibrating device is shown. Shown in FIG. 5 is system 500, whichcomprises an electric razor 502. The electric razor 502 comprises anelectric motor, which outputs a parasitic vibration when in operation.Accordingly, in the embodiment shown in FIG. 5, Electric Razor 502 mayimplement a system for outputting a haptic effect in a vibrating devicein order to provide haptic feedback to the user. In some embodiments,this may comprise one of the systems described above with regard toFIGS. 4A and 4B. In another embodiment, it may comprise making otheroperational changes to the operation of the electric motor in order tooutput a perceptible haptic effect. In some embodiments, this hapticeffect may be associated with data associated with Electric Razor 502'soperation. For example, the haptic effect may be associated with thecurrent battery level of the device, i.e. a strong haptic effect may beassociated with a warning that the battery level is low. In anotherembodiment, the haptic effect may be associated with other operationalinformation, e.g. operating time, device setting (e.g. trimmer length),or the temperature of the motor of the device.

Advantages of Various Embodiments of the Present Disclosure

Embodiments of the present disclosure provide numerous advantages overconventional methods of providing haptic feedback. For example,embodiments described herein make haptic effects usable in devices thatare prone to vibration. This may be useful for mobile devices that userscarry into vibrating environments. Similarly, this may be useful forincorporating haptics into new locations, for example, control systemsin cars, airplanes, trains, or buses.

Furthermore, embodiments of the present disclosure may enable haptics tobe incorporated into devices that already output some vibrations. Thismay enable haptics to be incorporated into industrial applications andalso household appliances. This will lead to these devices being moreusable, as users will be able to receive information from devicesthrough more than the traditional senses of sight and sound. This willultimately lead to greater user satisfaction, and more efficient use ofthese devices.

General Considerations

The methods, systems, and devices discussed above are examples. Variousconfigurations may omit, substitute, or add various procedures orcomponents as appropriate. For instance, in alternative configurations,the methods may be performed in an order different from that described,and/or various stages may be added, omitted, and/or combined. Also,features described with respect to certain configurations may becombined in various other configurations. Different aspects and elementsof the configurations may be combined in a similar manner. Also,technology evolves and, thus, many of the elements are examples and donot limit the scope of the disclosure or claims.

Specific details are given in the description to provide a thoroughunderstanding of example configurations (including implementations).However, configurations may be practiced without these specific details.For example, well-known circuits, processes, algorithms, structures, andtechniques have been shown without unnecessary detail in order to avoidobscuring the configurations. This description provides exampleconfigurations only, and does not limit the scope, applicability, orconfigurations of the claims. Rather, the preceding description of theconfigurations will provide those skilled in the art with an enablingdescription for implementing described techniques. Various changes maybe made in the function and arrangement of elements without departingfrom the spirit or scope of the disclosure.

Also, configurations may be described as a process that is depicted as aflow diagram or block diagram. Although each may describe the operationsas a sequential process, many of the operations can be performed inparallel or concurrently. In addition, the order of the operations maybe rearranged. A process may have additional steps not included in thefigure. Furthermore, examples of the methods may be implemented byhardware, software, firmware, middleware, microcode, hardwaredescription languages, or any combination thereof. When implemented insoftware, firmware, middleware, or microcode, the program code or codesegments to perform the necessary tasks may be stored in anon-transitory computer-readable medium such as a storage medium.Processors may perform the described tasks.

Having described several example configurations, various modifications,alternative constructions, and equivalents may be used without departingfrom the spirit of the disclosure. For example, the above elements maybe components of a larger system, wherein other rules may takeprecedence over or otherwise modify the application of the disclosure.Also, a number of steps may be undertaken before, during, or after theabove elements are considered. Accordingly, the above description doesnot bound the scope of the claims.

The use of “adapted to” or “configured to” herein is meant as open andinclusive language that does not foreclose devices adapted to orconfigured to perform additional tasks or steps. Additionally, the useof “based on” is meant to be open and inclusive, in that a process,step, calculation, or other action “based on” one or more recitedconditions or values may, in practice, be based on additional conditionsor values beyond those recited. Headings, lists, and numbering includedherein are for ease of explanation only and are not meant to belimiting.

Embodiments in accordance with aspects of the present subject matter canbe implemented in digital electronic circuitry, in computer hardware,firmware, software, or in combinations of the preceding. In oneembodiment, a computer may comprise a processor or processors. Theprocessor comprises or has access to a computer-readable medium, such asa random access memory (RAM) coupled to the processor. The processorexecutes computer-executable program instructions stored in memory, suchas executing one or more computer programs including a sensor samplingroutine, selection routines, and other routines to perform the methodsdescribed above.

Such processors may comprise a microprocessor, a digital signalprocessor (DSP), an application-specific integrated circuit (ASIC),field programmable gate arrays (FPGAs), and state machines. Suchprocessors may further comprise programmable electronic devices such asPLCs, programmable interrupt controllers (PICs), programmable logicdevices (PLDs), programmable read-only memories (PROMs), electronicallyprogrammable read-only memories (EPROMs or EEPROMs), or other similardevices.

Such processors may comprise, or may be in communication with, media,for example tangible computer-readable media, that may storeinstructions that, when executed by the processor, can cause theprocessor to perform the steps described herein as carried out, orassisted, by a processor. Embodiments of computer-readable media maycomprise, but are not limited to, all electronic, optical, magnetic, orother storage devices capable of providing a processor, such as theprocessor in a web server, with computer-readable instructions. Otherexamples of media comprise, but are not limited to, a floppy disk,CD-ROM, magnetic disk, memory chip, ROM, RAM, ASIC, configuredprocessor, all optical media, all magnetic tape or other magnetic media,or any other medium from which a computer processor can read. Also,various other devices may include computer-readable media, such as arouter, private or public network, or other transmission device. Theprocessor, and the processing, described may be in one or morestructures, and may be dispersed through one or more structures. Theprocessor may comprise code for carrying out one or more of the methods(or parts of methods) described herein.

While the present subject matter has been described in detail withrespect to specific embodiments thereof, it will be appreciated thatthose skilled in the art, upon attaining an understanding of theforegoing may readily produce alterations to, variations of, andequivalents to such embodiments. Accordingly, it should be understoodthat the present disclosure has been presented for purposes of examplerather than limitation, and does not preclude inclusion of suchmodifications, variations and/or additions to the present subject matteras would be readily apparent to one of ordinary skill in the art.

That which is claimed is:
 1. A system comprising: a haptic outputdevice; a processor coupled to the haptic output device, the processorconfigured to: determine that a haptic effect should be generated;receive a signal associated with a parasitic vibration; determine thehaptic effect configured to compensate for the parasitic vibration; andoutput a haptic signal associated with the haptic effect to the hapticoutput device.
 2. The system of claim 1, further comprising a userinterface, and wherein the haptic output device is configured to outputthe haptic effect to the user interface.
 3. The system of claim 1,wherein the signal associated with the parasitic vibration is receivedfrom a data store comprising data associated with parasitic vibrations.4. The system of claim 1, wherein the signal associated with theparasitic vibration is received from a sensor configured to detect theparasitic vibration.
 5. The system of claim 4, wherein the sensorcomprises the haptic output device.
 6. The system of claim 1, whereinthe haptic effect comprises an effect configured to be felt distinctlyfrom the parasitic vibration.
 7. The system of claim 6, wherein thehaptic effect comprises one or more of: a vibration at a frequencydifferent than the frequency of the parasitic vibration or a vibrationat a frequency and amplitude configured to mask the parasitic vibration.8. The system of claim 6, wherein outputting the haptic effect comprisesvarying the parasitic vibration.
 9. The system of claim 8, whereinvarying the parasitic vibration comprises adjusting a feature of acomponent associated with the parasitic vibration.
 10. The system ofclaim 6, wherein the haptic effect comprises one or more of: anon-vibration based effect, an electrostatic friction effect, adeformation of a user input device, or a skin stretch effect.
 11. Amethod comprising: determining that a haptic effect should be generated;receiving a signal associated with a parasitic vibration; determiningthe haptic effect configured to compensate for the parasitic vibration;outputting a haptic signal associated with the haptic effect to a hapticoutput device; and outputting the haptic effect.
 12. The method of claim11, wherein the haptic output device is configured to output the hapticeffect to a user interface.
 13. The method of claim 11, wherein thesignal associated with the parasitic vibration is received from a datastore comprising data associated with parasitic vibrations.
 14. Themethod of claim 11, wherein the signal associated with the parasiticvibration is received from a sensor configured to detect the parasiticvibration.
 15. The method of claim 11, wherein the haptic effectcomprises an effect configured to be felt distinctly from the parasiticvibration.
 16. The method of claim 15, wherein the haptic effectcomprises one or more of: a vibration at a frequency different than thefrequency of the parasitic vibration or a vibration at a frequency andamplitude configured to mask the parasitic vibration.
 17. The method ofclaim 15, wherein outputting the haptic effect comprises varying theparasitic vibration.
 18. The method of claim 17, wherein varying theparasitic vibration comprises adjusting a feature of a componentassociated with the parasitic vibration.
 19. The method of claim 15,wherein the haptic effect comprises one or more of: a non-vibrationbased effect, an electrostatic friction effect, a deformation of a userinput device, or a skin stretch effect.
 20. A non-transient computerreadable medium comprising program code, which when executed by aprocessor is configured to cause the processor to: determine that ahaptic effect should be generated; receive a signal associated with aparasitic vibration; determine the haptic effect configured tocompensate for the parasitic vibration wherein the haptic effectcomprises an effect configured to be felt distinctly from the parasiticvibration; output a haptic signal associated with the haptic effect to ahaptic output device; and output the haptic effect.